﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using PMServiceDesk.BusinessLogic;
using PMServiceDesk.DataType;
using PMServiceDesk.Utils.Interfaz;
using PMServiceDesk.Utils.ManejoDatos;
using PMServiceDesk.Parameters.Constantes;

namespace PMServiceDesk.Web.AppCode
{
    public class LineaBaseView
    {
        public LineaBaseType LineaBase { get; set; }
        public List<LineaBaseDetalleType> LineaBaseDetalle { get; set; }
    }

    public static class LineaBaseIU
    {

        public static LineaBaseView Importar(string archivoId)
        {
            LineaBaseType lineaBase = new LineaBaseType();

            lineaBase.ProyectoId = Sesion.Usuario.ProyectoId;
            lineaBase.UsuarioRegistroId = Sesion.Usuario.Id;
            lineaBase.DocumentoDigitalId = archivoId;

            new LineaBaseLogic().ImportarLineaBase(lineaBase);

            string hoy = ConvertFormat.Date_To_Char(DateTime.Today);

            return LineaBaseIU.Consultar(hoy);
        }

        public static LineaBaseView Consultar(string fechaConsulta)
        {
            LineaBaseView view = new LineaBaseView();

            view.LineaBase = new LineaBaseLogic().CargarVigentePorProyecto(Sesion.Usuario.ProyectoId);
            view.LineaBaseDetalle = new LineaBaseDetalleLogic().CargarGestionLineaBase(view.LineaBase, ConvertFormat.Char_To_Date(fechaConsulta));

            if (view.LineaBase == null)
            {
                view.LineaBase = new LineaBaseType();
                view.LineaBase.Id = "0";
                view.LineaBase.Nombre = "";
                view.LineaBase.FechaRegistro_Format = "";
            }

            return view;
        }

        public static List<RecursoLineaBaseDetalleType> ConsultarRecursosProyectados(string lineaBaseId,string codigoCuenta)
        {
            return new RecursoLineaBaseDetalleLogic().CargarLineaBasePorCodigoCuenta(Sesion.Usuario.ProyectoId,lineaBaseId,codigoCuenta);
        }

        public static List<RecursoActividadType> ConsultarRecursosReales(string codigoCuenta)
        {
            return new RecursoActividadLogic().CargarLineaBasePorCodigoCuenta(Sesion.Usuario.ProyectoId, codigoCuenta);
        }
    }
}